﻿#ifndef HeaderFile_H
#define HeaderFile_H
/********************************************************************************
** @ Date:2025/04/17
** @ Author: HanJiaXin
** @ Description:公共头文件
** @ Version:1.0.0
** @ ClassName:
** @ Fun:
********************************************************************************/
#include <QMutex>
#include <QString>
#include <QMap>
#include <QList>
#include <QVector>
#include <QDateTime>
#include <QPointF>
#include <QVariant>
#include <QSqlRecord>
#include <QThread>
#include <QWaitCondition>
#include <QLabel>

enum EDevType
{
	enOntology,       //设备本体 PLC
	enSubDev1,        //子设备1  摄像头
};

enum EDevTypeCode
{
	enCO,        //一氧化碳
	enGas,       //可燃气体
	enPM25,      //PM25
	enPM10,      //PM10
	enTempX,	     //温度
	enHum,       //湿度
	enUltrasonic,//超声波
	enCamer,     //图像相机
	enIR,        //红外相机
	enVoice,     //声音传感器
};

enum EWidgetType
{
	enCamerPlayer,//摄像头画面播放界面
	enCamerPlayerDouble,//双目摄像头画面播放界面
	enLog,//日志模块卡片
	enUVideoState,//摄像头状态卡片
	enAlarmTable,//摄像头报警时间列表卡片
	enStatisticsChart,//报警统计卡片
	enPubAlarmTableX,
	enPubStatisticsChartX,
};

enum ECCamerCmdType
{
	enCNoCmdCamer,    //无命令
	enCRealPlay,      //开启预览
	enCStopRealPlay,  //停止预览
	enCCapture,       //拍照
	enCGetImage,	  //拍照并划线
	enCLogin,		  //登录命令
	enCTiltUp,         //云台上   
	enCTiltDown,       //云台下
	enCPanLeft,        //云台左右
	enCPanRight,       //云台左右
	enCTiltUpStop,     //云台上 停止 
	enCTiltDownStop,   //云台下 停止
	enCPanLeftStop,    //云台左右 停止
	enCPanRightStop,   //云台左右 停止
	enZoomAdd,         //调焦+
	enZoomAddStop,	   //调焦+ 停止
	enZoomSubtract,	   //调焦-
	enZoomSubtractStop,//调焦- 停止
	enRunToPrestNo,	   //云台转到预置点
};

enum EAlgType
{
	enCoalFlow,//堆煤煤流占比
	enBeltForeign,//皮带异物
	enLargeCoal,//大块煤检测
	enBeltDeviation,//皮带跑偏算法
	enSmokeFire,//烟雾火点
	enSafetyHelmet,//安全帽反光衣
	enSmokeMakeCall,//抽烟打电话
	enTemp,//测温报警
	enPerimeter,//周界防范
	enBlock,//传送带堵料
	enThrow,//抛洒滴漏
	enStreet,//街面行为
};

enum EDevPointType
{
	enVideoState,	//摄像头连接状态
	enCoalFlowState,//堆煤煤流占比
	enBeltForeignState,//皮带异物
	enLargeCoalState,//大块煤检测
	enBeltDeviationState,//皮带跑偏算法
	enSmokeFireState,//烟雾火点
	enSafetyHelmetState,//安全帽反光衣
	enSmokeMakeCallState,//抽烟打电话
	enTempState,//测温报警
	enPerimeterState,//周界防范
	enBlockState,//传送带堵料
	enThrowState,//抛洒滴漏
	enStreetState,//街面行为
	enBeltRunState,//皮带启停信号
};

struct SCtrInfo
{
	QString m_sGuid;    //对象GUID
	int m_nCtrCmd;      //控制命令类型
	bool m_bCtrSync;    //同步控制/异步控制
	int m_nCtrDevType;	//控制类型 0:本体  1:摄像头
	int m_nSubCtrDevType;//云台控制设备类型 0:图像相机 1:红外相机
	WId m_hWid;
	QLabel* m_pLabel;
	QString m_sImgUrl;	//保存图片路径
	QString m_sReData;	//控制命令返回结果
	int m_nCamerAngle;  //相机预置点
	SCtrInfo()
	{
		m_sGuid = "";
		m_nCtrCmd = -1;
		m_nCtrDevType = 0;
		m_bCtrSync = false;
		m_nCamerAngle = 1;
	}
	~SCtrInfo()
	{
	}
};

#endif // !HeaderFile_H

